From: Roger Pau Monné Date: Wed, 7 Dec 2016 16:10:37 +0000 (+0100) Subject: libacpi: set FADT boot flag to notify lack of VGA for PVHv2 guests X-Git-Tag: archive/raspbian/4.11.1-1+rpi1~1^2~66^2~3243 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=8a8ce70ccfe8e4e647062fc0df914fb70cd6f8d0;p=xen.git libacpi: set FADT boot flag to notify lack of VGA for PVHv2 guests PVHv2 guests don't have any VGA card, and as so it must be notified in the FADT. Signed-off-by: Roger Pau Monné Reviewed-by: Jan Beulich Reviewed-by: Andrew Cooper --- diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c index a3f12fe21c..cddf09c1a0 100644 --- a/tools/firmware/hvmloader/util.c +++ b/tools/firmware/hvmloader/util.c @@ -950,7 +950,7 @@ void hvmloader_acpi_build_tables(struct acpi_config *config, config->table_flags |= (ACPI_HAS_TCPA | ACPI_HAS_IOAPIC | ACPI_HAS_WAET | ACPI_HAS_PMTIMER | - ACPI_HAS_BUTTONS); + ACPI_HAS_BUTTONS | ACPI_HAS_VGA); config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS; diff --git a/tools/libacpi/acpi2_0.h b/tools/libacpi/acpi2_0.h index 03c5dcb214..500f95eea7 100644 --- a/tools/libacpi/acpi2_0.h +++ b/tools/libacpi/acpi2_0.h @@ -229,6 +229,7 @@ struct acpi_20_fadt { */ #define ACPI_FADT_LEGACY_DEVICES (1 << 0) #define ACPI_FADT_8042 (1 << 1) +#define ACPI_FADT_NO_VGA (1 << 2) /* * FADT Fixed Feature Flags. diff --git a/tools/libacpi/build.c b/tools/libacpi/build.c index 4a2e2a9986..b06dcfaebb 100644 --- a/tools/libacpi/build.c +++ b/tools/libacpi/build.c @@ -586,6 +586,8 @@ int acpi_build_tables(struct acpi_ctxt *ctxt, struct acpi_config *config) fadt->x_dsdt = ctxt->mem_ops.v2p(ctxt, dsdt); fadt->firmware_ctrl = ctxt->mem_ops.v2p(ctxt, facs); fadt->x_firmware_ctrl = ctxt->mem_ops.v2p(ctxt, facs); + if ( !(config->table_flags & ACPI_HAS_VGA) ) + fadt->iapc_boot_arch |= ACPI_FADT_NO_VGA; set_checksum(fadt, offsetof(struct acpi_header, checksum), sizeof(struct acpi_20_fadt)); diff --git a/tools/libacpi/libacpi.h b/tools/libacpi/libacpi.h index dd6ef8b14c..0d50a82aeb 100644 --- a/tools/libacpi/libacpi.h +++ b/tools/libacpi/libacpi.h @@ -32,6 +32,7 @@ #define ACPI_HAS_WAET (1<<9) #define ACPI_HAS_PMTIMER (1<<10) #define ACPI_HAS_BUTTONS (1<<11) +#define ACPI_HAS_VGA (1<<12) struct xen_vmemrange; struct acpi_numa {